using IronBarCode;
using IronSoftware.Drawing;
// Choose which filters are to be applied (in order)
// Set cacheAtEachIteration = true to save the intermediate image data after each filter is applied
var filtersToApply = new ImageFilterCollection(cacheAtEachIteration: true) {
new SharpenFilter(),
new InvertFilter(),
new ContrastFilter(),
new BrightnessFilter(),
new AdaptiveThresholdFilter(),
new BinaryThresholdFilter(),
new GaussianBlurFilter(),
new MedianBlurFilter(),
new BilateralFilter()
};
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Set chosen filters in BarcodeReaderOptions
ImageFilters = filtersToApply,
Speed = ReadingSpeed.Balanced,
ExpectMultipleBarcodes = true,
};
// Read with the options applied
BarcodeResults results = BarcodeReader.Read("screenshot.png", myOptionsExample);
AnyBitmap[] filteredImages = results.FilterImages();
// Export intermediate image files to disk
for (int i = 0 ; i < filteredImages.Length ; i++)
filteredImages[i].SaveAs($"{i}_barcode.png");
// Or
results.ExportFilterImagesToDisk("filter-result.jpg");
Imports IronBarCode
Imports IronSoftware.Drawing
' Choose which filters are to be applied (in order)
' Set cacheAtEachIteration = true to save the intermediate image data after each filter is applied
Private filtersToApply = New ImageFilterCollection(cacheAtEachIteration:= True) From {
New SharpenFilter(),
New InvertFilter(),
New ContrastFilter(),
New BrightnessFilter(),
New AdaptiveThresholdFilter(),
New BinaryThresholdFilter(),
New GaussianBlurFilter(),
New MedianBlurFilter(),
New BilateralFilter()
}
Private myOptionsExample As New BarcodeReaderOptions() With {
.ImageFilters = filtersToApply,
.Speed = ReadingSpeed.Balanced,
.ExpectMultipleBarcodes = True
}
' Read with the options applied
Private results As BarcodeResults = BarcodeReader.Read("screenshot.png", myOptionsExample)
Private filteredImages() As AnyBitmap = results.FilterImages()
' Export intermediate image files to disk
For i As Integer = 0 To filteredImages.Length - 1
filteredImages(i).SaveAs($"{i}_barcode.png")
Next i
' Or
results.ExportFilterImagesToDisk("filter-result.jpg")
Install-Package BarCode
Kusurlu Barkodlar ve Görüntü Düzeltme
IronBarcode, BarcodeReaderOptions içinde kolayca uygulanabilen birçok resim ön işlem filtreleri sunar. Görselinizin okunmasını iyileştirebilecek Sharpen, İkili Eşik, ve Contrast gibi filtreleri seçin. Seçtiğiniz sıranın, uygulandıkları sıra olduğunu unutmayın.
Her filtre uygulandığında ara görüntülerin görüntü verilerini kaydetme seçeneği vardır. Bu, ImageFilterCollection'nın SaveAtEachIteration özelliğiyle açılıp kapatılabilir.
Özellikli Kod Örneğinden Temel Noktalar:
BarcodeReaderOptions bir örnek oluştururuz ve bunu çeşitli resim filtreleriyle yapılandırırız: Sharpen, Binary Threshold, ve Contrast.
Filtreler, uygulandıkları sırayı belirtmek için belirli bir sırayla eklenir.
cacheAtEachIteration'yi true olarak ayarlayarak, kütüphane her filtre uygulamasından sonra algoritmaları, hata ayıklama ve analiz için kullanışlı olan ara görüntüleri kaydeder.
Son olarak, görüntüden barkodu okur ve barkod türü ile değerini konsola yazdırırız.